"""
@author: xiangping
@contact: xiangpingbu@gmail.com
@time: 2020/1/7 11:52 上午
@file: gaolu_input_param_bo.py
@Desc: 高炉所有输入参数
"""
from app.models.bo.base_bo import BaseBO


class GaoLuInputParamBo(BaseBO):
    CG_LT_GL_GL04_LFYL = None  # 冷风压力
    CG_LT_GL_GL04_LFLL = None  # 冷风流量
    CG_LT_GL_GL04_RFYL02 = None  # 热风压力02
    CG_LT_GL_GL04_RFWD = None  # 热风温度
    CG_LT_GL_GL04_LDYL = None  # 炉顶压力
    CG_LT_GL_GL04_FSBZ = None  # 标准风速
    CG_LT_GL_GL04_FSSJ = None  # 实际风速
    CG_LT_GL_GL04_GFDNKG = None  # 鼓风动能KG
    CG_LT_GL_GL04_FYLL = None  # 富氧流量
    CG_LT_GL_GL04_JSWD = None  # 进水温度
    CG_LT_GL_GL04_LDWD01 = None  # 1#炉顶温度
    CG_LT_GL_GL04_LDWD02 = None  # 2#炉顶温度
    CG_LT_GL_GL04_LDWD03 = None  # 3#炉顶温度
    CG_LT_GL_GL04_LDWD04 = None  # 4#炉顶温度
    CG_LT_GL_GL04_FZWD = None  # 阀座温度
    CG_LT_GL_GL04_GLRSZLL = None  # 高炉软水总流量
    CG_LT_GL_GL04_COZXFX = None  # 煤气在线分析
    CG_LT_GL_GL04_CO2ZXFX = None  # CO2在线分析
    CG_LT_GL_GL04_N2ZXZF = None  # N2在线分析
    CG_LT_GL_GL04_H2ZXZF = None  # H2在线分析
    CG_LT_GL_GL04_SBYC01 = None  # 1#上部压差
    CG_LT_GL_GL04_SBYC02 = None  # 2#上部压差
    CG_LT_GL_GL04_SBYC03 = None  # 3#上部压差
    CG_LT_GL_GL04_SBYC04 = None  # 4#上部压差
    CG_LT_GL_GL04_XBYC01 = None  # 1#下部压差
    CG_LT_GL_GL04_XBYC02 = None  # 2#下部压差
    CG_LT_GL_GL04_XBYC03 = None  # 3#下部压差
    CG_LT_GL_GL04_XBYC04 = None  # 4#下部压差
    CG_LT_GL_GL04_TQXZS = None  # 透气性指数
    CG_LT_GL_GL04_RFH = None  # 热负荷
    CG_LT_GL_GL04_ZXQL = None  # T阀座温度/T顶温
    CG_LT_GL_GL04_SBYCZB = None  # 上部压差占比
    CG_LT_GL_GL04_ZBYCZB = None  # 中部压差占比
    CG_LT_GL_GL04_XBYCZB = None  # 下部压差占比
    CG_LT_GL_GL04_DW = None  # 炉顶温度
    CG_LT_GL_GL04_XBYC = None  # 下部压差
    CG_LT_GL_GL04_SBYC = None  # 上部压差
    CG_LT_GL_GL04_FCokeRate = None  # 焦比
    CG_LT_GL_GL04_FCoalRate = None  # 煤比
    CG_LT_GL_GL04_Ftswd = None  # 铁水温度
    CG_LT_GL_GL04_V = None  # V
    CG_LT_GL_GL04_YC = None  # 压差
    CG_LT_GL_GL04_Si_Ti = None  # Si+Ti
    CG_LT_GL_GL04_RLB = None  # 燃料比
    CG_LT_GL_GL04_FLiLunTie = None  # 理论铁
    CG_LT_GL_GL04_MQLYL = None  # 煤气利用率

    member_mapping_dict = {
        "CG_LT_GL_GL04_LFYL": "冷风压力",
        "CG_LT_GL_GL04_LFLL": "冷风流量",
        "CG_LT_GL_GL04_RFYL02": "热风压力02",
        "CG_LT_GL_GL04_RFWD": "热风温度",
        "CG_LT_GL_GL04_LDYL": "炉顶压力",
        "CG_LT_GL_GL04_FSBZ": "标准风速",
        "CG_LT_GL_GL04_FSSJ": "实际风速",
        "CG_LT_GL_GL04_GFDNKG": " 鼓风动能KG",
        "CG_LT_GL_GL04_FYLL": "富氧流量",
        "CG_LT_GL_GL04_JSWD": "进水温度",
        "CG_LT_GL_GL04_LDWD01": "1#炉顶温度",
        "CG_LT_GL_GL04_LDWD02": "2#炉顶温度",
        "CG_LT_GL_GL04_LDWD03": "3#炉顶温度",
        "CG_LT_GL_GL04_LDWD04": "4#炉顶温度",
        "CG_LT_GL_GL04_FZWD": "阀座温度",
        "CG_LT_GL_GL04_GLRSZLL": "高炉软水总流量",
        "CG_LT_GL_GL04_COZXFX": "煤气在线分析",
        "CG_LT_GL_GL04_CO2ZXFX": "CO2在线分析",
        "CG_LT_GL_GL04_N2ZXZF": "N2在线分析",
        "CG_LT_GL_GL04_H2ZXZF": "H2在线分析",
        "CG_LT_GL_GL04_SBYC01": "1#上部压差",
        "CG_LT_GL_GL04_SBYC02": "2#上部压差",
        "CG_LT_GL_GL04_SBYC03": "3#上部压差",
        "CG_LT_GL_GL04_SBYC04": "4#上部压差",
        "CG_LT_GL_GL04_XBYC01": "1#下部压差",
        "CG_LT_GL_GL04_XBYC02": "2#下部压差",
        "CG_LT_GL_GL04_XBYC03": "3#下部压差",
        "CG_LT_GL_GL04_XBYC04": "4#下部压差",
        "CG_LT_GL_GL04_TQXZS": "透气性指数",
        "CG_LT_GL_GL04_RFH": "热负荷",
        "CG_LT_GL_GL04_ZXQL": "T阀座温度/T顶温",
        "CG_LT_GL_GL04_SBYCZB": "上部压差占比",
        "CG_LT_GL_GL04_ZBYCZB": "中部压差占比",
        "CG_LT_GL_GL04_XBYCZB": "下部压差占比",
        "CG_LT_GL_GL04_DW": "炉顶温度",
        "CG_LT_GL_GL04_XBYC": "下部压差",
        "CG_LT_GL_GL04_SBYC": "上部压差",
        "CG_LT_GL_GL04_FCokeRate": "焦比",
        "CG_LT_GL_GL04_FCoalRate": "煤比",
        "CG_LT_GL_GL04_Ftswd": "铁水温度",
        "CG_LT_GL_GL04_V": "V",
        "CG_LT_GL_GL04_YC": "压差",
        "CG_LT_GL_GL04_Si_Ti": "Si+Ti",
        "CG_LT_GL_GL04_RLB": "燃料比",
        "CG_LT_GL_GL04_FLiLunTie": "理论铁",
        "CG_LT_GL_GL04_MQLYL": "煤气利用率"
    }

    exclude_list = ['member_mapping_dict',
                    'exposed_param_list',
                    'exposed_param_dict',
                    'CG_LT_GL_GL04_FLiLunTie',
                    'CG_LT_GL_GL04_RLB',
                    'CG_LT_GL_GL04_Si_Ti',
                    'CG_LT_GL_GL04_V',
                    'CG_LT_GL_GL04_Ftswd',
                    'exclude_list']

    @classmethod
    def exposed_param_list(cls):
        exclude_list = GaoLuInputParamBo.exclude_list

        return [i for i in cls.__dict__.keys()
                if i[:1] != '_' and i not in exclude_list]

    @classmethod
    def exposed_param_dict(cls):
        exclude_list = GaoLuInputParamBo.exclude_list

        return {k:v for k,v in cls.member_mapping_dict.items()
                if k[:1] != '_' and k not in exclude_list}
